"""
@author: xxw
@file: 04.数据库练习.py
@time: 2023/6/13 16:11
"""

import pymysql
import redis

stu_id = input("请输入你需要查询的学生id:")

#连接redis
r = redis.Redis(host='192.168.116.129', port=6379, db=2, decode_responses=True)

# 连接mysql
db = pymysql.connect(host='192.168.116.129',
                     user='sc',
                     password='123456',
                     database='sc')
if r.hkeys(stu_id):
    print("通过redis查找")
    print(f"学生姓名为:{r.hget(stu_id,'name')}")
    print(f"学生年龄为:{r.hget(stu_id, 'age')}")
    print(f"学生地址为:{r.hget(stu_id, 'address')}")
else:
    print("通过mysql查询")
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
    # 使用 execute()  方法执行 SQL 查询
    cursor.execute(f"select * from StuInfo where id={stu_id}")
    # 使用 fetchone() 方法获取数据.
    data = cursor.fetchone()
    if data:
        print(f"学生姓名为:{[data[1]]}")
        print(f"学生年龄为:{[data[2]]}")
        print(f"学生地址为:{[data[3]]}")
        print("存入redis......")
        r.hset(stu_id, 'name', data[1])
        r.hset(stu_id, 'age', data[2])
        r.hset(stu_id, 'address', data[3])
















